/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.cip.esymons.eventos.adapaters;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author lizardo
 */
public class Fechas {

    

    public Fechas() {
        
    }

    /*
      Funcion que te devuelve los dias que tiene el mes dado en el año especificado (necesario solo para el mes de Febrero).
      Los meses se pasan como un entero, siendo el 0 correspondiente a Enero, y el 11 correspondiente a Diciembre.
    */
    public Date fechaFin(int anio, int mes){
        int dia = 0;
        switch(mes){
            case 0:  // Enero
            case 2:  // Marzo
            case 4:  // Mayo
            case 6:  // Julio
            case 7:  // Agosto
            case 9:  // Octubre
            case 11: // Diciembre
                dia = 31;
                break;
            case 3:  // Abril
            case 5:  // Junio
            case 8:  // Septiembre
            case 10: // Noviembre
                dia = 30;
                break;
            case 1:  // Febrero
            if ( ((anio%100 == 0) && (anio%400 == 0)) ||
                ((anio%100 != 0) && (anio%  4 == 0))   )
                dia = 29;  // Año Bisiesto
            else
                dia = 28;
                break;
            default:
                throw new java.lang.IllegalArgumentException("El mes debe estar entre 0 y 11");
        }
        int MM = mes + 1;
        String fFin = dia + "/" + MM + "/" + anio;
        System.out.println("parametro2: " + fFin);
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        Date fecha = null;
        try {
            fecha = sdf.parse(fFin);
        } catch (ParseException ex) {
            Logger.getLogger(Fechas.class.getName()).log(Level.SEVERE, null, ex);
        }
        return fecha;
    }

    public Date fechaInicio(int anio, int mes) {
        int MM = mes + 1;
        String fInicio = "01/" + MM + "/" + anio;
        System.out.println("parametro1: " + fInicio);
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        Date fecha = null;
        try {
            fecha = sdf.parse(fInicio);
        } catch (ParseException ex) {
            Logger.getLogger(Fechas.class.getName()).log(Level.SEVERE, null, ex);
        }
        return fecha;
    }
    
}

